var alreadySetSkuVals = {};//已经设置的SKU值数据
var tag_start=false;
function init_attr_groups(){
	if(!attr_groups || ''==attr_groups)return false;
	var html='';
	attr_groups.forEach(function(val,index){
		html+='                    <div class="item_node">\n' +
			'                        <div class="item_node_tit"><span>规格名：</span><input class="input-text" type="text" value="'+val.skuTypeTitle+'"><a href="javascript:void(0);" class="delCusSkuType">删除</a></div>\n' +
			'                        <div class="item_node_val"><span>规格值：</span>\n' +
			'                            <div class="item_node_val_list">\n' ;


		val.skuValues.forEach(function(item,key){

			html+='<div class="item_node_val_list_node" style="display: block;">\n' +
				'                                <input class="input-text" type="text" value="'+item.skuValueTitle+'"><i href="javascript:void(0);" class="delCusSkuVal">\n' +
				'                                <div class="img_box">\n' +
				'                                <img src="/static/common/img/img/1055.png" alt="">\n' +
				'                                </div>\n' +
				'                                </i>\n' +
				'                                </div>';

		})


		html+='                                <a href="javascript:;" class="itemModelnode">添加规格值</a>\n' +
			'                            </div>\n' +
			'                        </div>\n' +
			'                    </div>'
	})
	$(".item_edit .item_list").html(html);
	tag_start=true;
	createSkuTable();
}

$(function(){
	init_attr_groups();

	$("#additem").click(function(){
		var cloneSource = $("#itemModel");//要克隆的sku模板
		var cloneNode = cloneSource.clone(true);//克隆出来的节点
		//移除id
		cloneNode.removeAttr("id");
		cloneNode.css("display","block");//显示元素
		$(".item_list").append(cloneNode);
		createSkuTable();
	});

	//添加自定义sku值
	$(document).on("click",".itemModelnode",function(){
		//要克隆的SKU值模板
		var cloneSource = $("#itemModelnode");
		//克隆出来的节点
		var cloneNode = cloneSource.clone(true);
		//移除id
		cloneNode.removeAttr("id");
		//显示元素
		cloneNode.css("display","block");
		//添加到该按钮的前面
		$(this).before(cloneNode);
		createSkuTable();
	});


	//删除自定义sku类型模块
	$(document).on("click",".delCusSkuType",function(){
		$(this).parent().parent().remove();
		createSkuTable();
	});

	//删除自定义sku值
	$(document).on("click",".delCusSkuVal",function(){
		$(this).parent().remove();
		createSkuTable();
	});


	//SKU值改变
	$(document).on("change", ".item_edit input", function(){
		//触发change事件
		createSkuTable();
	});

	$(document).on("click",".setting_sku_img",function(){
		flashupload(0,'图片上传',1,'jpg|jpeg|gif|png',2,$(this).attr('id'),thumb_images_sku);
	})


})


//创建表格
function createSkuTable(){
	getAlreadySetSkuVals();//获取已经设置的SKU值
	var skuTypeArr =  [];//存放选中的SKU类型的数组
	var totalRow = 1;//总行数
	//获取元素类型
	$(".item_list .item_node").each(function(index){
		var skuTypeObj = {};//sku类型对象
		//SKU属性类型标题
		skuTypeObj.skuTypeTitle = $(this).find(".item_node_tit input").val();
		//SKU属性类型主键
		var propid = index;
		skuTypeObj.skuTypeKey = propid;
		var skuValueArr = [];//存放SKU值得数组
		//获取SKU值
		var skuValCheckBoxs = $(this).find(".item_node_val input");
		var checkedNodeLen = 0 ;//选中的SKU节点的个数
		$(skuValCheckBoxs).each(function(index){
			var skuValObj = {};//SKU值对象
			skuValObj.skuValueTitle = $(this).val();//SKU值名称
			skuValObj.skuValueId = index;//SKU值主键
			skuValObj.skuPropId = propid;//SKU类型主键
			skuValueArr.push(skuValObj);
			checkedNodeLen ++ ;
		});

		if(skuValueArr && skuValueArr.length > 0){
			totalRow = totalRow * skuValueArr.length;
			skuTypeObj.skuValues = skuValueArr;//sku值数组
			skuTypeObj.skuValueLen = skuValueArr.length;//sku值长度
			skuTypeArr.push(skuTypeObj);//保存进数组中
		}
	});

	var SKUTableDom = "";//sku表格数据
	var sku_num = "";
	//开始创建行
	if(skuTypeArr.length>0){

		SKUTableDom += "<table class='skuTable'><tr>";
		SKUTableDom += "<th>图片</th>";
		for(var t = 0 ; t < skuTypeArr.length ; t ++){
			SKUTableDom += '<th>'+skuTypeArr[t].skuTypeTitle+'</th>';
		}

		SKUTableDom += '<th><font color="red">*</font>价格</th><th><font color="red">*</font>库存</th><th>重量（克）</th><th>货号</th>';
		SKUTableDom += "</tr>";


		//循环处理表体 //总共需要创建多少行
		for(var i = 0 ; i < totalRow ; i ++){
			var currRowDoms = "";
			var rowCount = 1;//记录行数
			var propvalidArr = [];//记录SKU值主键
			var propIdArr = [];//属性类型主键
			var propvalnameArr = [];//记录SKU值标题
			var propNameArr = [];//属性类型标题
			for(var j = 0 ; j < skuTypeArr.length ; j ++){
				var skuValues = skuTypeArr[j].skuValues;//SKU值数组
				var skuValueLen = skuValues.length;//sku值长度
				rowCount = (rowCount * skuValueLen);//目前的生成的总行数
				var anInterBankNum = (totalRow / rowCount);//跨行数
				var point = parseInt((i / anInterBankNum) % skuValueLen);//当前列对应的sku
				propNameArr.push(skuTypeArr[j].skuTypeTitle);

				currRowDoms += '<td>'+skuValues[point].skuValueTitle+'</td>';
				propvalidArr.push(skuValues[point].skuValueId);
				propIdArr.push(skuValues[point].skuPropId);
				propvalnameArr.push(skuValues[point].skuValueTitle);
			}



			var propvalids = propvalidArr.join(";");
			var propvalnames = propvalnameArr.join(";");
			var alreadySetSkuPrice = "";//已经设置的SKU价格
			var alreadySetSkuStock = "";//已经设置的SKU库存
			var alreadySetSkuWeight = "";//已经设置的SKU重量
			var alreadySetSkuNo = "";//已经设置的SKU货号
			var alreadySetSkuImage = "/static/common/attach/images/upload-pic.png";//已经设置的SKU图片
			var SkuImage = ""; //图片数据
			//赋值
			if(alreadySetSkuVals){
				var currGroupSkuVal = alreadySetSkuVals[propvalnames];//当前这组SKU值
				if(currGroupSkuVal){
					alreadySetSkuPrice = currGroupSkuVal.skuPrice;
					alreadySetSkuStock = currGroupSkuVal.skuStock;
					alreadySetSkuWeight = currGroupSkuVal.skuWeight;
					alreadySetSkuNo = currGroupSkuVal.skuNo;
					if(currGroupSkuVal.skuImage){
						alreadySetSkuImage = SkuImage = currGroupSkuVal.skuImage;
					}
				}
			}


			SKUTableDom += '<tr propvalids=\''+propvalids+'\' propids=\''+propIdArr.join(";")+'\' propvalnames=\''+propvalnames+'\'  propnames=\''+propNameArr.join(";")+'\' class="sku_table_tr"><td style="width:60px;"><img src="'+alreadySetSkuImage+'" data-bimg="'+SkuImage+'" id="img_'+parseInt(Math.random()*100000000)+'" class="setting_sku_img"></td>'+currRowDoms+'<td><input type="text" class="setting_sku_price" value="'+alreadySetSkuPrice+'"/></td><td><input type="text" class="setting_sku_stock" value="'+alreadySetSkuStock+'"/></td><td><input type="text" class="setting_sku_weight" value="'+alreadySetSkuWeight+'"/></td><td><input type="text" class="setting_sku_no" value="'+alreadySetSkuNo+'"/></td></tr>';
		}


		SKUTableDom += "</table>";
		sku_num="共生成"+totalRow+"个商品类型";
	}

	$("#skuTable").html(SKUTableDom);
	$("#totalsum").html(sku_num);
	$('.setting_sku_img').preview();
}

/**
 * 获取已经设置的SKU值
 */
function getAlreadySetSkuVals(){
	alreadySetSkuVals = {};
	//初始化设置
	if(tag_start && val_groups){
		val_groups.forEach(function(item,index){
			//SKU值主键集合
			var propvalids = item.names;
			alreadySetSkuVals[propvalids] = {
				"skuPrice" : item.price,
				"skuStock" : item.stock,
				"skuWeight" : item.weight,
				"skuNo" : item.no,
				"skuImage" : item.img
			}
		})
		tag_start=false;
		return;
	}

	//获取设置的SKU属性值
	$("tr[class*='sku_table_tr']").each(function(){
		var skuPrice = $(this).find("input[type='text'][class*='setting_sku_price']").val();//SKU价格
		var skuStock = $(this).find("input[type='text'][class*='setting_sku_stock']").val();//SKU库存
		var skuWeight = $(this).find("input[type='text'][class*='setting_sku_weight']").val();//SKU重量
		var skuNo = $(this).find("input[type='text'][class*='setting_sku_no']").val();//SKU货号
		var skuImage = $(this).find(".setting_sku_img").attr("src");
		//已经设置了全部或部分值
		if(skuPrice || skuStock){
			//SKU值主键集合
			var propvalids = $(this).attr("propvalnames");
			alreadySetSkuVals[propvalids] = {
				"skuPrice" : skuPrice,
				"skuStock" : skuStock,
				"skuImage" : skuImage,
				"skuWeight": skuWeight,
				"skuNo"    : skuNo
			}
		}
	});
}

//生成提交内容
function createPostdata(){
	var skuTypeArr = [];
	$(".item_list .item_node").each(function(index){
		var skuTypeObj = {};//sku类型对象
		//SKU属性类型标题
		skuTypeObj.skuTypeTitle = $(this).find(".item_node_tit input").val();
		var propid=index;
		skuTypeObj.skuTypeKey = index;
		var skuValueArr = [];//存放SKU值得数组
		//获取SKU值
		var skuValCheckBoxs = $(this).find(".item_node_val input");
		$(skuValCheckBoxs).each(function(index){
			var skuValObj = {};//SKU值对象
			skuValObj.skuValueTitle = $(this).val();//SKU值名称
			skuValObj.skuValueId = index;//SKU值主键
			skuValObj.skuPropId = propid;//SKU类型主键
			skuValueArr.push(skuValObj);
		});

		if(skuValueArr && skuValueArr.length > 0){
			skuTypeObj.skuValues = skuValueArr;//sku值数组
			skuTypeArr.push(skuTypeObj);//保存进数组中
		}
	});

	var skuValArr = [];
	$(".item_group .skuTable tr:gt(0)").each(function(index){
		var skuValObj = {};
		skuValObj.ids = $(this).attr('propvalids');
		skuValObj.names = $(this).attr('propvalnames');
		skuValObj.stock = $(this).find('.setting_sku_stock').val();
		skuValObj.price = $(this).find('.setting_sku_price').val();
		skuValObj.weight = $(this).find('.setting_sku_weight').val();
		skuValObj.no = $(this).find('.setting_sku_no').val();
		skuValObj.img = $(this).find('.setting_sku_img').attr('data-bimg');
		skuValArr.push(skuValObj);
	})

	$("input[name='attr_groups']").val(skuTypeArr.length>0?JSON.stringify(skuTypeArr):'');
	$("input[name='val_groups']").val(skuValArr.length>0?JSON.stringify(skuValArr):'');
}
